1. | Copyright |

2. | Introduction |

2.1. | How to run the examples included in this eBook |

2.1.1. | How to run the script in Windows |

2.1.2. | How to run the script in Linux |

| |

3. | **Functions for real @ARRAYs** |

| |

3.1. | The **pop** function |

3.1.1. | The syntax forms |

3.1.2. | How to use pop with a stack array |

3.1.3. | How to use pop with a queue array |

3.1.4. | How to emulate a circular list with pop |

3.1.5. | How to print an array using pop within a while loop |

3.1.6. | Which is the difference between pop, chop and chomp |

3.1.7. | How to use pop with array references |

3.1.8. | How to use pop with a list |

3.1.9. | How to use pop with split |

3.1.10. | How to reverse an array using pop and push |

3.1.11. | How to use pop with an AoA (array of arrays) |

3.1.11.1. | How to delete the last column from a matrix |

3.1.11.2. | How to delete the last row from a matrix |

3.1.12. | How to use pop with an AoH (array of hashes) |

3.1.13. | How to use pop with an HoA (hash of arrays) |

3.1.14. | How to use pop with @_, @ARGV, || |

| |

3.2. | The **push** function |

3.2.1. | The syntax form |

3.2.2. | How to use push to append a list to an array |

3.2.3. | How to use push to append an array to an array |

3.2.4. | How to concatenate two arrays by alternating their elements |

3.2.5. | Using push, chomp and while to create an array from a file |

3.2.6. | How to use push with a stack array |

3.2.7. | How to use push with a queue array |

3.2.8. | How to use push to implement a simple circular list |

3.2.9. | How to use push with array references |

3.2.10. | How to use push with an AoA (array of arrays) |

3.2.10.1. | How to read a matrix from a file |

3.2.10.2. | How to append a column to a matrix |

3.2.10.3. | How to append a row to a matrix |

3.2.10.4. | How to read a text from a file and push into columns |

3.2.11. | How to use push with an AoH (array of hashes) |

3.2.12. | How to use push with an HoA (hash of arrays) |

3.2.13. | How to use push with $_, @{ }, =>, [ ], || |

| |

3.3. | The **shift** function |

3.3.1. | The syntax forms |

3.3.2. | How to use shift with a stack array |

3.3.3. | How to use shift with a queue array |

3.3.4. | How to emulate a circular list with shift |

3.3.5. | How to use shift within the body of a subroutine |

3.3.6. | How to use shift with an AoA (array of arrays) |

3.3.6.1. | How to delete the first column from a matrix |

3.3.6.2. | How to delete the first row from a matrix |

3.3.7. | How to use shift with an AoH (array of hashes) |

3.3.8. | How to use shift with an HoA (hash of arrays) |

3.3.9. | How to use shift with @_, @ARGV, @$_, %{}, ||, && |

| |

3.4. | The **splice** function |

3.4.1. | The syntax forms |

3.4.1.1. | The general syntax form |

3.4.1.2. | The second syntax form |

3.4.1.3. | The third syntax form |

3.4.1.4. | The fourth syntax form |

3.4.2. | splice versus shift |

3.4.3. | splice versus pop |

3.4.4. | splice versus unshift |

3.4.5. | splice versus push |

3.4.6. | How to use splice with an AoA (array of arrays) |

3.4.7. | How to use splice with an AoH (array of hashes) |

3.4.8. | How to use splice with an HoA (hash of arrays) |

3.4.9. | How to use splice with @_ |

| |

3.5. | The **unshift** function |

3.5.1. | The syntax form |

3.5.2. | How to use unshift to insert a list in front of an array |

3.5.3. | Using unshift to insert an array in front of another array |

3.5.4. | How to use unshift with array references |

3.5.5. | How to use unshift with a stack array |

3.5.6. | How to use unshift with a queue array |

3.5.7. | How to emulate a circular list with unshift |

3.5.8. | How to use unshift with an AoA (array of arrays) |

3.5.8.1. | How to use unshift to insert a column to a matrix |

3.5.8.2. | How to use unshift to insert a row to a matrix |

3.5.9. | How to use unshift with an AoH (array of hashes) |

3.5.10. | How to use unshift with an HoA (hash of arrays) |

3.5.11 | How to use unshift with @$_ |