Standard Streams और In-memory Files
STDIN, STDOUT, और STDERR हमेशा open हैं, और आप एक string को भी एक file की तरह खोल सकते हैं।
In this page:
Standard Streams और In-Memory Files
Perl आपके program शुरू होने से पहले input के लिए STDIN, normal output के लिए STDOUT, और errors और warnings के लिए STDERR खोलता है। print default से STDOUT में लिखता है, और आप एक handle name करके output कहीं और direct कर सकते हैं। एक scalar variable के एक reference को एक file की तरह खोलना आपको same file functions से एक string पढ़ने या लिखने देता है, जो testing के लिए बहुत handy है।
Note:
STDERR, STDOUT जैसे buffered नहीं है, इसलिए error messages normal output के साथ out of order appear हो सकते हैं।
उदाहरण: Standard streams and in-memory files
use strict;
use warnings;
print STDOUT "normal output\n";
print STDERR "an error message\n";
my $buffer = '';
open(my $mem, '>', \$buffer) or die "Cannot open in-memory file: $!";
print $mem "line one\n";
print $mem "line two\n";
close $mem;
print "buffer holds ", length($buffer), " characters\n";
open(my $read, '<', \$buffer) or die "Cannot read in-memory file: $!";
while (my $line = <$read>) {
chomp $line;
print "got: $line\n";
}
close $read;
# Output:
# normal output
# buffer holds 18 characters
# got: line one
# got: line two
Login to try C/C++/Java/PHP code in the editor
आम गलतियां
- STDERR की बजाय STDOUT पर errors print करना
- यह भूल जाना कि STDIN एक line को इसकी newline समेत पढ़ता है
- string पढ़ने से पहले एक in-memory write handle close करना भूल जाना
चैप्टर सारांश
- STDIN, STDOUT, और STDERR हमेशा available हैं
- print default से STDOUT में जाता है
- Warnings और die messages STDERR में जाते हैं
- एक string को file की तरह इस्तेमाल करने के लिए एक scalar reference open करें
🔒
Chapter Quiz — Complete all 7 topics to unlock
0/7 topics done
Complete these topics first: