Discover how to create static variables with the "state" keyword.
- [Voiceover] Beginning with Perl 5.10,…you can create static variables with the state feature.…Here is a working copy of func.pl…from chapter ten of the exercise files.…So I'm gonna come down here to my function,…and I'm going to declare a variable.…And then I'm going to increment that variable and print it,…saying "say ++$n" like that.…And so that will increment n,…so instead of 10, it will be 11,…and it'll pass that 11 to "say",…and when I run it, you see it says 11.…
Now here is the interesting thing.…If I run this function five times,…each time we get a new copy of n,…which is discarded at the end of the block.…And so, each time it'll print the number 11.…So I'll run this, and you see we get number 11 five times.…On the other hand, if instead of "my"…I use the keyword "state",…now we have a static variable instead of a dynamic variable.…And when I run this,…you notice that the value increases each time.…
So this is what's called a static variable.…Instead of there being a new copy of n…every time the function is called,…
Author
Released
6/11/2016Watch to learn the details of the Perl syntax, from variables, conditionals, loops, and data structures to regular expressions, functions, and references. A quick-start guide is included for experienced developers who want to get up and running with Perl 5 fast, and the entire course is recommended for both new and experienced programmers alike. Later chapters cover file handling and reusing code with Perl modules, plus Perl best coding practices.
- Understanding Perl's general syntax and the anatomy of a Perl script
- Writing statements and expressions
- Creating assignments
- Working with variables and strings
- Using data types effectively
- Defining logical flow with conditionals and loops
- Using special variables
- Using Perl operators
- Performing simple Perl programming tasks with expressions
- Matching data
- Defining and calling functions
- Using references
- Handling files in the file I/O
- Using built-in functions
- Reusing code with modules
- Coding with Perl best practices
Skill Level Intermediate
Duration
Views
Related Courses
-
Code Clinic: R (2015)
with Mark Niemann-Ross3h 24m Intermediate
-
Introduction
-
Welcome45s
-
Exercise files1m 34s
-
-
1. Setting Up
-
About Perl3m 36s
-
2. Quick Start
-
Hello World5m 26s
-
Counting lines in a file4m 11s
-
Loops and conditionals3m 2s
-
Functions5m 21s
-
Using perldoc2m 6s
-
3. Basic Syntax
-
Anatomy of a Perl script6m 17s
-
Statements and expressions2m 44s
-
Assignments3m 57s
-
Blocks and scope4m 39s
-
-
4. Values and Variables
-
Numeric variables2m 29s
-
Character strings6m 23s
-
Logical values2m 18s
-
Lists and arrays7m 25s
-
Slices of arrays2m 38s
-
Hashes or associative arrays4m 35s
-
Constants3m 57s
-
5. Conditionals
-
The if statement3m 44s
-
Else and elsif2m 38s
-
Switch with given and when4m 45s
-
-
6. Loops
-
Understanding loops2m 7s
-
Loops with while and until2m 51s
-
Iterating with for2m 21s
-
Iterating with foreach3m 57s
-
Loop control statements4m 36s
-
-
7. Special Variables
-
The default variable3m 24s
-
Function arguments2m 14s
-
The autoflush variable2m 55s
-
The system error variable2m 12s
-
Other special variables3m 31s
-
-
8. Operators
-
About Perl's operators2m 35s
-
Basic arithmetic operators5m 30s
-
Relational operators3m 27s
-
Logical operators6m 1s
-
File test operators3m 42s
-
The range operator2m 54s
-
-
9. Regular Expressions
-
Matching text2m 9s
-
Common modifiers4m 58s
-
Extracting matches2m 5s
-
Getting a list of matches1m 46s
-
Simple matches2m 46s
-
Matching wildcards4m 38s
-
Matching metacharacters1m 37s
-
Search and replace4m 32s
-
Splitting strings2m 18s
-
10. Functions
-
Understanding functions1m 20s
-
Locally scoped variables2m 58s
-
Returning values1m 22s
-
Static variables2m 7s
-
Predeclared functions1m 58s
-
-
11. References and Structures
-
Array references4m 58s
-
Hash references3m 2s
-
Function references5m 28s
-
Mixed data structures4m 3s
-
12. File I/O
-
Using file handles8m 29s
-
Working with binary files5m 19s
-
13. Built-In Functions
-
The die() function3m 39s
-
String functions5m 45s
-
Numeric functions4m 49s
-
List and array functions4m 12s
-
Time functions6m 56s
-
The undef function2m 16s
-
14. Modules
-
Perl's object model5m 49s
-
An example module5m 9s
-
15. Best Practices
-
Be consistent2m 23s
-
Use strict and warnings2m 39s
-
Use constants2m 8s
-
-
Conclusion
-
Next steps55s
-
- Mark as unwatched
- Mark all as unwatched
Are you sure you want to mark all the videos in this course as unwatched?
This will not affect your course history, your reports, or your certificates of completion for this course.
CancelTake notes with your new membership!
Type in the entry box, then click Enter to save your note.
1:30Press on any video thumbnail to jump immediately to the timecode shown.
Notes are saved with you account but can also be exported as plain text, MS Word, PDF, Google Doc, or Evernote.
Share this video
Embed this video
Video: Static variables