Hem Personliga finanser Undvika gemensamma överblickar i Perl-dummies

Undvika gemensamma överblickar i Perl-dummies

Innehållsförteckning:

Video: Der Kommissar und das Meer, 23 - Tage der Angst (Svensk text) 2024

Video: Der Kommissar und das Meer, 23 - Tage der Angst (Svensk text) 2024
Anonim

Ett typsnitt eller två under skrivning är ett Perl-program, inte ovanligt. Men när du försöker köra ett program som innehåller en textinmatning, blir Perl vanligtvis förvirrad och berättar så genom att rapportera ett fel. Den naturliga reaktionen för de flesta människor, även de med år med programmeringserfarenhet, är att bli orolig eller arg eller båda när ett felmeddelande dyker upp.

Var inte panik. Ta ett djupt andetag. Ta ett annat långsamt, djupt andetag. Allvarligt kan du inte komma till roten till problemet om du är all spänd och störd. Oavsett hur många år du programmerar, slutar du alltid att hitta några fel i koden du skriver.

Så nu du är (förhoppningsvis!) Lite lugnare, kan du börja uppskatta det faktum att Perl har mer användbara felmeddelanden än nästan alla andra programmeringsspråk. Meddelandena är inte alltid rätt på pengarna, men de kan få dig ganska nära den plats där problemet ligger med minimal sökning från din sida.

Perl har många felmeddelanden, men några avgränsar definitivt mer än andra på grund av några vanliga typsnitt som alla verkar göra. Följande fel beror på smärre textfiler som du enkelt kan undvika.

Glömma en semikolon

Förmodligen det vanligaste felmeddelandet du ser när programmeringen i Perl ser något ut så här:

# syntaxfel, nära "öppen"

File 'counter1. pl '; Linje 10

# Exekvering avbruten på grund av kompileringsfel.

Du kan titta och titta på Linje 10, den med det öppna uttalandet, och du ser inte något fel på det. Tricket här är att undersöka det uttalande som kommer före det öppna uttalandet och se om det slutar med en semikolon. (Perl vet att ett uttalande endast slutar när det kommer till en semikolon.) I det här fallet orsakas felet av en saknad semikolon i slutet av linje 7 i programmet:

$ TheFile = "provet. txt "

Glömma ett citatmärke

Följande typ av felmeddelande kan vara extremt frustrerande om du inte känner till en snabbkorrigering:

# Endast ord som hittades när operatören förväntade sig, nära

#" öppna (INFILE, $ TheFile) eller dö "The"

# (kan vara en runaway multi line "sträng som börjar på

# line 7)

File 'counter1. pl '; Linje 10

Detta fel liknar att glömma en semikolon; istället är det ett citatmärke som oavsiktligt utelämnas:

$ TheFile = "sample. Text;

I det här fallet gjorde Perl ett bra jobb att gissa vad som är fel, vilket tyder på att en runaway multi-line "sträng på linje 7 är problemet, vilket är exakt rätt.

Inmatning av en parentes för många eller för få

När du har många öppna och stängande parenteser i ett program, är det enkelt att slänga en extra i av misstag. Om så är fallet kan du få ett meddelande från Perl som läser något av följande:

# syntaxfel, nära ") eq"

File 'counter1. pl '; Linje 38

# syntaxfel, nära "}"

File 'counter1. pl '; Linje 42

Här kan Perl inte bestämma var felet är exakt, men det fick faktiskt det vid första gissningen: Linje 38 innehåller en extra rätt parentes:

om (substr ($ TheLine, $ CharPos, 1)) eq "")

Att ha en parentes för få i ett Perl-program kan orsaka svårare att hitta problem:

# Kan inte använda konstant objekt som vänster arg av implicit ->,

# nära "1}"

File 'counter1. pl '; Linje 39

# Scalar hittades där operatören förväntade sig, nära "$ CharPos"

File 'counter1. pl '; Linje 40

# (Saknar semikolon på föregående rad?)

# Syntaxfel, nära "$ CharPos"

File 'counter1. pl '; Linje 40

Yarp! Allt detta skapades på grund av att den sista parentesen på Linje 38 saknas:

om (substr ($ TheLine, $ CharPos, 1) eq ""

Här är en annan bra lektion i jakt ner typfel: Börja där Perl säger Det hittade ett fel. Om du inte hittar felet där, gå upp en rad eller två och se om problemet startade tidigare.

Ett sista ord av råd: Lita på Perl för att hitta de enkla stavarna för dig (var det kan), och kom ihåg att det ger dig all hjälp det kan, vilket är mer än vad du kan säga för många programmeringsspråk.

Undvika gemensamma överblickar i Perl-dummies

Redaktörens val

Justering och justering av text i Word 2016 - dummies

Justering och justering av text i Word 2016 - dummies

Styckejustering i Word 2016-dokument har ingenting att göra med politik, och motiveringen har lite att göra med anledningarna till att lägga text i en paragraf. Istället hänvisar båda termerna till hur styckets vänstra och högra kanter ser på en sida. De fyra alternativen är vänster, center, rätt och fullständigt motiverad, ...

Hur man gör två kolumntext i Word 2016 - dummies

Hur man gör två kolumntext i Word 2016 - dummies

När man vill imponera på någon Med din text i Word 2016 kan du försöka sätta två kolumner på din sida. Några fler kolumner, och textbredden är för mager och svår att läsa. Två kolumner är dock ett bra sätt att bli snyggare och förbli läsbara. Starta ett nytt dokument. Eller om du ...

Hur man gör mellanslag mellan stycken i Word 2010 - dummies

Hur man gör mellanslag mellan stycken i Word 2010 - dummies

När man skriver i Word 2010, du don Du måste inte trycka på Enter två gånger för att lägga till extra mellanrum mellan punkterna. Word kan lägga till det här rummet automatiskt:

Redaktörens val

Outlook 2013 Adressböcker - dummies

Outlook 2013 Adressböcker - dummies

Outlook 2013 använder fortfarande flera olika Adressböcker som verkligen ingår i Microsoft Exchange Server. Adressböckerna har flera separata, oberoende listor över namn och e-postadresser - det är ganska förvirrande. Microsoft förenklade problemet med att hantera adressböcker i Outlook 2002 och senare versioner, men det hjälper inte om du använder ...

Outlook 2016 s Kontakter Hem Tab - dummies

Outlook 2016 s Kontakter Hem Tab - dummies

Outlook 2016s Kontakter är mer än bara en lista med namn och e-postadresser. Du kan utnyttja fliken Kontakter hem i Outlook 2016-bandet för att skapa nya kontakter, för att ordna hur du visar kontakterna du har, eller för att skapa e-postmeddelanden eller sammanslagningsdokument. Följande bild visar ...

Outlook Web Access - dummies

Outlook Web Access - dummies

Outlook Web Access är en del av ett program som heter Microsoft Exchange, vilket många stora och icke- så stora organisationer kör till avancerade Outlook-funktioner som offentliga mappar, delade kalendrar och tilldelade uppgifter. Inte alla företag som använder Microsoft Exchange erbjuder Outlook Web Access, men om du gör det kan du logga in på Outlook från nästan ...

Redaktörens val

Polering Ditt utvecklingsverktyg för kakaoprogrammering - dummies

Polering Ditt utvecklingsverktyg för kakaoprogrammering - dummies

Kakao är en typ av programmering som du kan utföra med Apples Utvecklarverktyg. Kakao är en samling verktyg och bibliotek som låter dig få ut det mesta av Mac OS X-programmeringen. Många funktioner gör Cocoa bra, bland annat följande: Modulär objektorienterad design Användning av ramar Visual interface design Varför program med ...

Snabba typer - dummies

Snabba typer - dummies

Swifts hantering av typer liknar andra språk, men varje språk har olika inriktningar och regler. I allmänhet har dessa regler att göra med de sätt som skrivs måste genomföras i fall där det finns tvetydighet. Hur mycket kostar språket (eller dess kompilator eller runtime bibliotek) för att säkerställa typkompatibilitet? Swift's approach ...

Klasserna Anatomi av en Swift Class - dummies

Klasserna Anatomi av en Swift Class - dummies

ÄR hjärtat i något objektorienterat programmeringsspråk. Till skillnad från klasser i mål-C och några andra språk behöver Swifts klasser ingen rubrikdeklaration. I stället får du hela klassen (eller struktur eller uppräkning) definitionen i ett format som detta: klass MyClass {var storedNumber: Int = 0 init (myNumber storedNumber: Int) {self. storedNumber = storedNumber ...